package com.gitee.huanminabc.fastboot.web.servlet;

import com.gitee.huanminabc.fastboot.common.Order;
import com.gitee.huanminabc.nullchain.common.NullResult;

/**
 * @program: netty-web
 * @description:
 * @author: huanmin
 * @create: 2025-03-31 13:46
 **/
public interface HandlerInterceptor extends Order {

    //请求之前,可以做一些处理,比如权限验证,参数验证等
    default boolean preHandle() throws Exception {
        return true;
    }
    //请求之后,但是还没有返回, 这个时候可以修改返回值
    default NullResult<?> postHandle(NullResult<?> result) throws Exception {
        return result;
    }

    //请求完成之后,这个和postHandle区别是一定会执行 ,而postHandle如果出现异常就不会执行
    //这个可以释放资源
    default void afterCompletion() {

    }

}